<template>
  <div>
    <el-button @click="JXXML">批量删除指定下标的数组</el-button>
    <p>{{tableData}}</p>
  </div>
</template>
<script>

export default {
  components:{
  },
  data() {
    return {
      tableData:['张三', '李四', '王五', '赵六', '钱七'],
      //要删除的下标
      indexesToDelete:[0, 2]
    };
  },
  methods: {
    /**
     * 通过指定多个下标  删除数组的内容
     * @param arr   原始数组 ['张三', '李四', '王五', '赵六', '钱七']
     * @param indexesToRemove   要删除的下标数组 [0, 2]
     * @returns {*}
     */
    removeIndexes(arr, indexesToRemove) {
      // 对要删除的索引进行降序排序，以避免在删除元素时影响其他索引
      let sortedIndexes = indexesToRemove.sort((a, b) => b - a);

      for (let i = 0; i < sortedIndexes.length; i++) {
        if (sortedIndexes[i] >= 0 && sortedIndexes[i] < arr.length) {
          arr.splice(sortedIndexes[i], 1);
        }
      }
      return arr;
    },
    JXXML(){
      let tableDataTmp = this.tableData
      this.tableData = this.removeIndexes(tableDataTmp, this.indexesToDelete)
    },
  }
};
</script>
